package models.vo {

  import com.axon.brasil.formatters.CnpjFormatter;
  
  import org.restfulx.models.RxModel;

  [Resource(name="pessoas_juridicas")]

  [Bindable]
  public class PessoaJuridica extends RxModel {

    public static const LABEL:String = "cnpj";

    public var cnpj:String = "";

    public var razaoSocial:String = "";

    public var objeto:Boolean = true;

    public var aberturaCnpj:Date = new Date();

    public var historico:String = "";

    public var registroJuntaComercialData:Date = new Date()

    public var registroJuntaComercialNumero:String = "";

    [BelongsTo]
    public var contato:Contato;

    [BelongsTo]
    public var escritorio:Contato;

    [BelongsTo]
    public var empreendimento:Empreendimento;

    //////////////////////////////////////////////////////////////////////////////////////////////////////

    public function PessoaJuridica() {
      super(LABEL);
    }

    //////////////////////////////////////////////////////////////////////////////////////////////////////

    public function getContato():Contato {
      if (!contato)
        contato = new Contato();

      return contato;
    }

    //////////////////////////////////////////////////////////////////////////////////////////////////////

    public function getEscritorio():Contato {
      if (escritorio)
        return escritorio;
      else
        return getContato();
    }

    //////////////////////////////////////////////////////////////////////////////////////////////////////

    public function contatoIgualEscritorio():Boolean {
      return (getContato().id == getEscritorio().id);
    }

    //////////////////////////////////////////////////////////////////////////////////////////////////////

		public function cnpjFormatado(): String
		{
			return new CnpjFormatter().format(cnpj);
		}

  }
}
